<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core" 
                xmlns:ui="http://java.sun.com/jsf/facelets" 
                xmlns:p="http://primefaces.org/ui"
                template="/template/plantilla.xhtml">
    <ui:define name="title"><h:outputText value="Sinetcom - Actualizar Registro de Mov. de Inv."></h:outputText></ui:define>
    <ui:define name="menu"><ui:include src="/menu/menu.xhtml" /></ui:define>
    <ui:define name="content">
        <f:view contentType="text/html">
            <h:head />
            <h:body>
                <h:form id="form">
<!--                    <p:dialog widgetVar="statusDialog" modal="true" draggable="false" closable="false" resizable="false" showHeader="false">
                        <p:graphicImage library="images" name="ajax_loader.gif" />
                    </p:dialog>-->
                    <p:panel>
                        <f:facet name="header">
                            <h:outputText value="Actualización de Registro de Movimiento de Inventario"></h:outputText>
                        </f:facet>
                        <p:dataTable id="tablaRegistros" value="#{actualizarRegistroDeMovBean.movimientoDeInventarios}" selection="#{actualizarRegistroDeMovBean.seleccion}" selectionMode="single" var="item" rowKey="#{item.codigo}" >
                            <p:ajax event="rowSelect" listener="#{actualizarRegistroDeMovBean.registroSeleccionado}" update=":form:tablaRegistros:botonActualizar, :form:actualizarR, :form:botonActualizar" onstart="statusDialog.show()" oncomplete="statusDialog.hide()" />
                            <p:ajax event="rowUnselect" listener="#{actualizarRegistroDeMovBean.registroDeSeleccionado}" update=":form:tablaRegistros:botonActualizar, :form:actualizarR, :form:botonActualizar" />
                            <f:facet name="header">
                                <h:outputText value="Registros de Mov. de Inventario por actualizar"></h:outputText>
                            </f:facet>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Código"/>
                                </f:facet>
                                <h:outputText value="#{item.codigo}"/>
                            </p:column>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Detalle de Movimiento"/>
                                </f:facet>
                                <h:outputText value="#{item.detalleMotivoDelMovimiento}"/>
                            </p:column>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Fecha De Emisión"/>
                                </f:facet>
                                <h:outputText value="#{item.fechaDeEmision}">
                                    <f:convertDateTime pattern="MM/dd/yyyy" />
                                </h:outputText>
                            </p:column>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Tipo de Movimiento"/>
                                </f:facet>
                                <h:outputText value="#{item.tipoDeMovimientoid.nombre}"/>
                            </p:column>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Contrato"/>
                                </f:facet>
                                <h:outputText value="#{item.contratonumero != null ? item.contratonumero.numero : 'N/A'}"/>
                            </p:column>
                            <p:column width="25px">
                                <f:facet name="header">
                                    <h:outputText value="Cliente"/>
                                </f:facet>
                                <h:outputText value="#{item.clienteEmpresaid != null ? item.clienteEmpresaid.nombreComercial : 'N/A'}"/>
                            </p:column>
                            <f:facet name="footer">
                                <p:commandButton id="botonActualizar" value="Actualizar" disabled="#{empty actualizarRegistroDeMovBean.seleccion or empty actualizarRegistroDeMovBean.seleccion.codigo}" immediate="true" onclick="actualizarR.show()"></p:commandButton>
                            </f:facet>
                        </p:dataTable>
                        <p:dataTable id="registrosC" value="#{actualizarRegistroDeMovBean.movimientosFinalizados}" var="registroF" rowKey="#{registroF.codigo}" paginator="true" rows="10">
                            <f:facet name="header">
                                <h:outputText value="Registros Finalizados"></h:outputText>
                            </f:facet>
                            <p:column headerText="Código">
                                <h:outputText value="#{registroF.codigo}"></h:outputText>
                            </p:column>
                            <p:column headerText="Tipo de Movimiento">
                                <h:outputText value="#{registroF.tipoDeMovimientoid.nombre}"></h:outputText>
                            </p:column>
                            <p:column headerText="Contrato">
                                <h:outputText value="#{registroF.contratonumero.clienteEmpresaid.nombreComercial} - #{registroF.contratonumero.numero}"></h:outputText>
                            </p:column>
                            <p:column headerText="Empresa">
                                <h:outputText value="#{registroF.clienteEmpresaid.nombreComercial}"></h:outputText>
                            </p:column>
                            <p:column headerText="Fecha Entrada">
                                <h:outputText value="#{registroF.fechaDeEntrada}">
                                    <f:convertDateTime pattern="yyyy/MM/dd"></f:convertDateTime>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="Fecha Salida">
                                <h:outputText value="#{registroF.fechaDeSalida}">
                                    <f:convertDateTime pattern="yyyy/MM/dd"></f:convertDateTime>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="Descarga">
                                <h:commandLink immediate="true" actionListener="#{actualizarRegistroDeMovBean.descargarRegistroDeMovimientoDeInventario}">
                                    <f:attribute value="#{registroF.codigo}" name="idRegistro"></f:attribute>
                                    <p:graphicImage library="images" width="40" height="40"  name="pdf.png"></p:graphicImage>
                                </h:commandLink>
                            </p:column>
                        </p:dataTable>
                        <p:dialog widgetVar="actualizarR" id="actualizarR" modal="true">                            
                            <p:panelGrid columns="1">
                                <f:facet name="header">
                                    <h:outputText value="Selección de Ingresos"></h:outputText>
                                </f:facet>
                                <ui:repeat id="loop" rendered="#{actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 3 or actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 4 or actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 5}" value="#{actualizarRegistroDeMovBean.seleccion.detalleDeMovimientoDeProductoList}" var="productoS">
                                    <p:panelGrid columns="2">
                                        <p:outputLabel for="ingreso" value="Producto Entrante para '#{productoS.itemProductonumeroSerialsale.numeroSerial}': "></p:outputLabel>
                                        <p:selectOneMenu id="ingreso" value="#{productoS.itemProductonumeroSerialentra}" filter="true" filterMatchMode="contains" required="true"  converter="#{itemProductoConverter}">
                                            <f:selectItem itemLabel="#{myBundle.SelectOneMessage}" itemValue=""></f:selectItem>
                                            <f:selectItems value="#{actualizarRegistroDeMovBean.inventarioEntranteDisponible}" var="stockD" itemLabel="#{stockD.componenteElectronicoAtomicoid != null ? stockD.componenteElectronicoAtomicoid.nombre : stockD.descripcion } - S/N: #{stockD.numeroSerial}" itemValue="#{stockD.numeroSerial}"></f:selectItems>
                                        </p:selectOneMenu>
                                    </p:panelGrid>
                                </ui:repeat>
                                <ui:repeat id="loop1" rendered="#{actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 1 or actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 2}" value="#{actualizarRegistroDeMovBean.seleccion.detalleDeMovimientoDeProductoList}" var="producto">
                                    <p:panelGrid columns="2">
                                        <p:outputLabel for="bodega" value="Ingrese la bodega para '#{producto.itemProductonumeroSerialsale.numeroSerial}': "></p:outputLabel>
                                        <p:selectOneMenu id="bodega" value="#{producto.itemProductonumeroSerialsale.bodegaid}" converter="#{bodegaConverter}" required="true" >
                                            <f:selectItem itemLabel="#{myBundle.SelectOneMessage}" itemValue=""></f:selectItem>
                                            <f:selectItems value="#{actualizarRegistroDeMovBean.bodegas}" var="bodegaD" itemLabel="#{bodegaD.nombre}" itemValue="#{bodegaD.id.toString()}"></f:selectItems>
                                        </p:selectOneMenu> 
                                    </p:panelGrid>
                                </ui:repeat>
                                <f:facet name="footer">
                                    <p:commandButton id="botonActualizar" value="Actualizar Registro de Mov." disabled="#{((actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 3 or actualizarRegistroDeMovBean.seleccion.tipoDeMovimientoid.id eq 4) and
                                                                                                                          (empty actualizarRegistroDeMovBean.inventarioEntranteDisponible or actualizarRegistroDeMovBean.inventarioEntranteDisponible.size() == 0))}" actionListener="#{actualizarRegistroDeMovBean.actualizarRegistroDeMovimientoDeInventario}" update="@form" onstart="statusDialog.show()" onsuccess="statusDialog.hide()" ></p:commandButton>
                                </f:facet>
                            </p:panelGrid>
                        </p:dialog>
                    </p:panel>
                    <p:confirmDialog global="true">
                        <p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/>
                        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"/>
                    </p:confirmDialog>
                </h:form>
            </h:body>
        </f:view>
    </ui:define>
</ui:composition>